package com.fosss.krusikal;

import java.util.Arrays;

/**
 * 克鲁斯卡尔算法生成最小生成树解决公交站问题
 */
public class KruskalDemo {
    public static void main(String[] args) {
        char[] vertexs={'A','B','C','D','E','F','G'};

        Integer INF=Kruskal.INF;
        //克鲁斯卡尔算法的邻接矩阵
        int matrix[][] = {
                      /*A*//*B*//*C*//*D*//*E*//*F*//*G*/
                /*A*/ { 0, 12, INF, INF, INF, 16, 14},
                /*B*/ { 12, 0, 10, INF, INF, 7, INF},
                /*C*/ { INF, 10, 0, 3, 5, 6, INF},
                /*D*/ { INF, INF, 3, 0, 4, INF, INF},
                /*E*/ { INF, INF, 5, 4, 0, 2, 8},
                /*F*/ { 16, 7, 6, INF, 2, 0, 9},
                /*G*/ { 14, INF, INF, INF, 8, 9, 0}
        };

        Kruskal kruskal = new Kruskal(vertexs, matrix);
//        kruskal.print();
        EData[] edges = kruskal.getEdges();
//        System.out.println("排序前"+Arrays.toString(edges));
        kruskal.sortEdges(edges);
//        System.out.println("排序后："+Arrays.toString(edges));

        kruskal.kruskalGo();

    };



}














